//region Array

let a: string[];
a = [1, 2, 'a'];
a = ['b', '2', 'a'];

let b1: number[];
let b2: Array<number>;
// b1与b2等价

let c: any[];
c = [1, 2, 'a'];
//endregion

//region Tuple：固定长度的数组
let h: [string, string];
h = ['a', 'b'];
h = ['a', 'b', 'c'];
h = ['a'];
//endregion

//region enum
let c1: { name: string, gender: '男' | '女' }
c1 = {
    name: '张三',
    gender: '男'
}

enum Gender {
    Male,
    Female
}

let c2: { name: string, gender: Gender; };
c2 = {
    name: '张三',
    gender: Gender.Male
}
//endregion

//region &
let d: { name: string; } & { age: number; };
d = {name: 'abc'};
d = {name: 'abc', age: 18};
//endregion

type myType = 1 | 2 | 3 | 4 | 5;
let k: myType;
let l: myType;